// * 请求响应参数(不包含data)
export interface Result {
	code: number
	msg?: string
}

// * 请求响应参数(包含data)
export interface ResultData<T = any> extends Result {
	data?: T
}

// * 分页响应参数
export interface ResPage<T> {
	datalist: T[]
	pageNum: number
	pageSize: number
	total: number
}

// * 分页请求参数
export interface ReqPage {
	pageNum: number
	pageSize: number
}

// * 登录
export namespace Login {
	export interface ReqLoginForm {
		username: string
		password: string
	}

	export interface ResLogin {
		access_token: string
	}

	export interface ResAuthButtons {
		[propName: string]: any
	}
}

// 请求响应参数
export interface R<T = any> {
	code: number
	message?: string
	data: T extends any ? T : T & any
}

// amis 请求响应参数
export interface AmisR<T = any> {
	status: number
	msg?: string
	data: T extends any ? T : T & any
}
